/*
package CSDN.day22_7_5;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

*/
/**
 * @Description:
 *
 * 小艺酱想给自己起一个英文名字。 小艺酱想要装的自己学识渊博。 所以她想要自己英文名字必须满足：
 * 1.只有字母表中前k个小写字母。
 * 2.必须是回文串。
 * 3.前k个小写字母每个字母至少出现一次。
 * 小艺酱已经自己完成了部分空余的字母部分用’?’代替。 请你帮她完成她的英文名字。
 *
 *
 * @Author: Hanzao
 * @Date: 2022/07/03/10:39
 *//*

public class round1 {

    public static int getMin(int[] arr,int size){    //获取数组中最小元素的下标
        int min = 999999;
        int res = 0;
        for(int i=size-1;i>=0;i--){
            if(min >= arr[i]){
                res = i;
                min = arr[i];
            }
        }
        return res;
    }

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        while(scan.hasNext()){
            int num = scan.nextInt();   //最大元素不能超过num个
            String s = scan.next();
            StringBuilder stringBuilder = new StringBuilder(s);
            int len = stringBuilder.length();
            if(len%2 == 0){ //偶数
                len = len/2;
            }else{
                len = len/2+1;
            }
            String tmp = (stringBuilder.substring(0,len));
//            System.out.println(tmp);


            int[] arr = new int[28];    //存放元素个数
            for(int i=0;i<28;i++){
                arr[i] = 0;     //初始化数组
            }
            for(int i=0;i<len;i++){  //将字符串中个数存进去
                if(stringBuilder.charAt(i) != '?'){
                    arr[stringBuilder.charAt(i)-'a'] ++;
                }
            }

//            System.out.println(getMin(arr,len));

            for(int i=0;i<len;i++){
                if(stringBuilder.charAt(i) == '?'){
                    int min = getMin(arr, len);     //找到当前数组最小元素的下标
                    Character c = (char)('a' + arr[min]+1);
                    stringBuilder.replace(i,i+1,c.toString());
                }
            }

//            System.out.println("结果");
            if(len%2==0){   //偶数
                for(int i=0;i<len;i++){
                    System.out.print(stringBuilder.charAt(i));
                }
                for(int i=len-1;i>=0;i--){
                    System.out.print(stringBuilder.charAt(i));
                }
            }else{
                for(int i=0;i<len;i++){
                    System.out.print(stringBuilder.charAt(i));
                }
                for(int i=len-2;i>=0;i--){
                    System.out.print(stringBuilder.charAt(i));
                }
            }
        }
        scan.close();
    }
}
*/
